package org.apache.flink.runtime.resourceconsumer;

import java.util.concurrent.CompletableFuture;

import org.apache.flink.util.AutoCloseableAsync;

/**
 * @类名: ResourceConsumerService
 * @说明: 资源消费者管理服务
 *
 * @author   leehom
 * @Date	 2024年7月25日 下午6:20:50
 * 修改记录：
 *
 * @see 	 
 */
public interface ResourceConsumerService extends AutoCloseableAsync {

    /**
     * Get the {@link ConsumerMasterGateway} belonging to this service.
     *
     * @return JobMasterGateway belonging to this service
     */
	ResourceConsumerGateway getGateway();

    /**
     * Get the address of the JobMaster service under which it is reachable.
     *
     * @return Address of the JobMaster service
     */
    String getAddress();

    /**
     * Get the termination future of this job master service.
     *
     * @return future which is completed once the JobMasterService completes termination
     */
    CompletableFuture<Void> getTerminationFuture();
}
